package br.com.mb.util;

import br.com.mb.livro.LivroDAO;
import br.com.mb.livro.LivroDAOHibernate;
import br.com.mb.perfil.PerfilDAO;
import br.com.mb.perfil.PerfilDAOHibernate;
import br.com.mb.solicitacao.SolicitacaoDAO;
import br.com.mb.solicitacao.SolicitacaoDAOHibernate;
import br.com.mb.usuario.UsuarioConexDAOHibernate;
import br.com.mb.usuario.UsuarioConexaoDAO;
import br.com.mb.usuario.UsuarioDAO;
import br.com.mb.usuario.UsuarioDAOHibernate;

/*
 * Fábrica de DAO.
 * @author Beji Lima
 */
public class DAOFactory {

	/*
	 * Metodo responsavel por criar uma instancia de UsuarioDAO
	 * 
	 * @return UsuarioDAO
	 */

	public static UsuarioDAO criarUsuarioDAO() {

		UsuarioDAOHibernate usuarioDAO = new UsuarioDAOHibernate();
		usuarioDAO.setSession(HibernateUtil.getSessionFactory()
				.getCurrentSession());
		return usuarioDAO;
	}

	/*
	 * Metodo responsavel por criar uma instancia de LivroDAO
	 * 
	 * @return LivroDAO r
	 */

	public static LivroDAO criaLivroDAO() {

		LivroDAOHibernate livroDAO = new LivroDAOHibernate();
		livroDAO.setSession(HibernateUtil.getSessionFactory()
				.getCurrentSession());
		return livroDAO;

	}

	public static PerfilDAO criaPerfilDAO() {

		PerfilDAOHibernate perfilDAO = new PerfilDAOHibernate();
		perfilDAO.setSession(HibernateUtil.getSessionFactory()
				.getCurrentSession());
		return perfilDAO;
	}

	public static UsuarioConexaoDAO criaUsuarioConexaoDAO() {

		UsuarioConexDAOHibernate usuarioConexaoDAO = new UsuarioConexDAOHibernate();
		usuarioConexaoDAO.setSession(HibernateUtil.getSessionFactory()
				.getCurrentSession());
		return usuarioConexaoDAO;

	}

	public static SolicitacaoDAO criaSolicitacaoDAO() {
		
		SolicitacaoDAOHibernate solicitacaoDAO = new SolicitacaoDAOHibernate();
		solicitacaoDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		return solicitacaoDAO;

	}

}
